package LeetCode.Hash;

import java.util.HashMap;
import java.util.Map;

/**
 * @author : LdLtd
 * @Date : 2023/7/10
 * @Description:1. 两数之和
 */
public class two_sum {
    class Solution {
        public int[] twoSum(int[] nums, int target) {
            /*hash表*/
            Map<Integer, Integer> map = new HashMap<>();
            for (int i = 0; i <nums.length;i++){
                if(map.containsKey(nums[i])){
                    return  new int[]{map.get(nums[i]),i};
                }else{
                    // 将数据存入 key为补数 ，value为下标
                    map.put(target-nums[i],i);
                }
            }
            return new int[]{};
        }
        /*双循环*/
//        public int[] twoSum(int[] nums, int target) {
//            int[] res = new int[2];
//            for (int i = 0; i < nums.length; i++) {
//                for (int j = i+1; j < nums.length; j++) {
//                    if(nums[i]+nums[j]==target){
//                        res[0]=i;
//                        res[1]=j;
//                    }
//
//                }
//
//            }
//            return res;
//        }
    }
}
